package com.shujia.wyh.moniqiefen2;

import java.io.File;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/*
    一个block块产生一个map任务
 */
public class MapThreadDemo {
    public static void main(String[] args) {
        //因为map任务是同时执行的，所以，我们采用多线程的方式实现，计算每一个block块中数据结果
        //创建一个File对象
        File file = new File("hadoop/src/main/java/com/shujia/wyh/moniqiefen2/blocks");

        //创建一个线程池
        ExecutorService pool = Executors.newFixedThreadPool(8);

        //获取该目录下所有的block文件
        File[] files = file.listFiles();
        //定义结果文件的编号
        int num = 0;

        if(files!=null){
            //遍历数组得到每一个block块
            for (File file1 : files) {
                pool.submit(new MapThread(file1,num));
                num++;
            }
        }



        //关闭线程池
        pool.shutdown();
    }
}
